Conversation
|
Built it and ran the tests it ships — all pass here (45 + 28 + 19). Two independent gaps. 1. 2. The scan only walks Walking every executable section fixes both of those, and adding a |
|
the problem is that this can cause huge loading times if we parse all the binary just for few patterns. maybe we can use binoptions for that and have and e bin.XXX option to enable that and show a R_LOG_INFO about this if we need that.. but imagnie loading a static elf without sections of 100MB.. ill try to come up with some corpus and study a better fix but the optional large scan seems reasonable to me |
|
Looks good. Thanks for these PRs too. |
|
@copilot resolve the merge conflicts in this pull request |
Calls now read bl sym.plt.strlen instead of an anonymous address, and the anal name join recovers forwarded arguments through the stubs. Lazy stubs are identified by their branch into a known glink stub, eager ones through the toc, always validated against the real slot set. Also fold the qdsp6, riscv, loongarch and vax import math into one shared helper.
…n loads ##bin The stub scan only walked .text, so it missed the __gmon_start__ stub bfd puts in .init and found nothing at all on section-less files. Walk every executable section, falling back to the PT_LOAD PF_X segments when there are none, with each range clamped to the file and a shared 32MB budget so corrupt section headers cannot inflate load time. The matcher now takes the optional ld rX, d+16(base) env load that --plt-static-chain emits, before or after the toc restore, and stubs at the tail of a range match through zero padding. Adds section-less, static-chain and bogus-shdr libz fixtures.
Calls now read bl sym.plt.strlen instead of an anonymous address, and the anal name join recovers forwarded arguments through the stubs. Lazy stubs are identified by their branch into a known glink stub, eager ones through the toc, always validated against the real slot set. Also fold the qdsp6, riscv, loongarch and vax import math into one shared helper.
step 4 is this @phix33